package edu.mis.modules.product;

import com.jfinal.core.Controller;
import edu.mis.model.Product;
import edu.mis.model.Type;


/**
 * 用户控制器
 *
 */
public class ProductController extends Controller {
	
	static ProductService service = new ProductService();
	
	public void index() {
		setAttr("type",Type.dao.findAll());
		render("product.html");
	}
	
	public void list(){
		setAttr("data", service.findAllProductWithType());
		renderJson();  
	}

	/**
	 * 注册用户视图
	 */
	public void add() {
		setAttr("type",Type.dao.findAll());//授权前得到所有权限
		//render("add.html");  //（默认对应add.html，否则需显性指定，如render("addUser.html")）
	}
	
	public void getType(){
		setAttr("type",Type.dao.findAll());
		renderJson();
	}

	public void save(){
		Product product  =  getModel(Product.class);   //使用getModel方法获取表单值，表单中name应使用对象名.属性名，如user.id, user.password,详见jfinal手册
		if(service.saveProduct(product)){
			setAttr("result", true); 
			setAttr("msg", "添加商品成功!"); 
		}else{
			setAttr("result",false);
			setAttr("msg", "失败!"); 
		}
		renderJson(); 
	}
	
	
	
	/**
	 * 用户授权视图
	 */
	public void edit() {
		setAttr("product", service.findProductById(getParaToInt("id")));  //此处user应与表单中${(user.name)!}等中的user保持一致。
		setAttr("type",Type.dao.findAll());//授权前得到所有权限
	}
	
	/**
	 * 用户授权
	 */
	public void update(){
		Product product=getModel(Product.class);
		if(service.update(product)){
			setAttr("result", true);
			setAttr("msg", "成功!");
		}else{
			setAttr("result", false);
		}
		renderJson();
	}
	
	public void delete() {
		if(service.deleteProductById(getParaToInt("id"))){
			setAttr("result", true);
			setAttr("msg", "删除成功!");
		}else{
			setAttr("result", false);
		}
		renderJson();
	}

}


